package radiostation;

import java.io.File;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;

public class XMLFileChooser extends JFileChooser {
    
    public XMLFileChooser() { 
        XMLFileFilter xmlFiler = new XMLFileFilter();
        setFileFilter(xmlFiler);
    }
    
    // Στην περίπτωση που το αρχείο ήδη υπάρχει, τότε θα πρέπει να εμφανίζεται
    // διάλογος επιβεβαίωσης για την αντικατάστασή του.
    @Override
    public void approveSelection() {
        if (getDialogType() == SAVE_DIALOG) {
            File selectedFile = getSelectedFile();
            if ((selectedFile != null) && selectedFile.exists()) {
                int ret = JOptionPane.showConfirmDialog(this,
                        "Το αρχείο " + selectedFile.getName()
                        + " ήδη υπάρχει. Αντικατάσταση;",
                        "Αντικατάσταση", JOptionPane.YES_NO_OPTION,
                        JOptionPane.WARNING_MESSAGE);
                if (ret != JOptionPane.YES_OPTION) {
                    return;
                }
            }
        }
        super.approveSelection();
    }
    
}
